emulation vs hardware